@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

REM 检查参数
if "%~1"=="" (
    echo 错误：请提供版本号参数
    echo 用法：publish.bat version
    exit /b 1
)

set VERSION=%~1
set IMAGE_NAME=mydockerregistry.tommickey.cn/tommickey/terminal
set FULL_IMAGE_NAME=%IMAGE_NAME%:%VERSION%

echo 开始构建和发布流程...
echo 版本号: %VERSION%
echo 镜像名称: %FULL_IMAGE_NAME%

REM 1. 构建Go程序
echo.
echo 步骤1: 构建Go程序...
go build -o main.exe
if %ERRORLEVEL% neq 0 (
    echo 构建失败！
    exit /b 1
)
echo 构建成功！

REM 2. 构建Docker镜像
echo.
echo 步骤2: 构建Docker镜像...
docker build -t %FULL_IMAGE_NAME% .
if %ERRORLEVEL% neq 0 (
    echo Docker镜像构建失败！
    exit /b 1
)
echo Docker镜像构建成功！

REM 3. 标记镜像
echo.
echo 步骤3: 标记镜像...
docker tag %FULL_IMAGE_NAME% %IMAGE_NAME%:latest
if %ERRORLEVEL% neq 0 (
    echo 镜像标记失败！
    exit /b 1
)
echo 镜像标记成功！

REM 4. 推送镜像
echo.
echo 步骤4: 推送镜像到仓库...
docker push %FULL_IMAGE_NAME%
if %ERRORLEVEL% neq 0 (
    echo 镜像推送失败！
    exit /b 1
)
docker push %IMAGE_NAME%:latest
if %ERRORLEVEL% neq 0 (
    echo 最新版本镜像推送失败！
    exit /b 1
)
echo 镜像推送成功！

echo.
echo 所有步骤完成！
echo 镜像已发布到: %FULL_IMAGE_NAME%
echo 最新版本标签已更新 